from langchain_ollama import OllamaLLM
from langchain_core.prompts import ChatPromptTemplate, ChatMessagePromptTemplate

# 创建 OllamaLLM 实例
llm = OllamaLLM(model="deepseek-r1:7b", base_url="http://localhost:11434")

# 创建提示模板
# chat_prompt_template = ChatPromptTemplate.from_messages([
#     ("system", "你是一位{role}专家，擅长回答{domain}领域的问题"),
#     ("user", "请回答这个问题: {question}")
# ])

sys_message_template = ChatPromptTemplate.from_template(template="你是一位{role}专家，擅长回答{domain}领域的问题", role="system")

human_message_template = ChatPromptTemplate.from_template(template="请回答这个问题: {question}", role="user")

chat_prompt_template = ChatPromptTemplate.from_messages([
    sys_message_template,
    human_message_template
])

# 预设词，模板+变量=>提示词
prompt = chat_prompt_template.format_messages(role="编程", domain="Web开发", question="如何构建一个基于Vue的前端应用?")

# 打印完整的问题
print(prompt)

# 创建 RunnableSequence 实例 # 数据流 返回
resp = llm.stream(prompt)
# resp = llm.invoke(prompt) # 返回字符串

# 打印返回结果
for r in resp:
    print(r, end="")





